package Family;

import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Reducer;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class RedTest extends Reducer<Text, Text, Text, Text> {
    List<Text> grand = new ArrayList<Text>();
    List<Text> child = new ArrayList<Text>();

    @Override
    protected void reduce(Text key, Iterable<Text> values, Context context) throws IOException, InterruptedException {
        for (Text v : values) {
            String s = v.toString();
            if (v.toString().startsWith("-")) {
                child.add(new Text(s.substring(1)));
            } else {
                grand.add(new Text(s.substring(1)));
            }
        }
        for (int i = 0; i < child.size(); i++) {
            for (int j = 0; j < grand.size(); j++) {
                context.write(child.get(i), grand.get(j));
            }
        }
        grand.clear();
        child.clear();
    }
//        ArrayList<Text> grandparent = new ArrayList<Text>();
//        ArrayList<Text> grandchild = new ArrayList<Text>();
//        for (Text t : values) {//对各个values中的值进行处理
//            String s = t.toString();
//            if (s.startsWith("-")) {
//                grandparent.add(new Text(s.substring(1)));
//            } else {
//                grandchild.add(new Text(s.substring(1)));
//            }
//        }
//        //再将grandparent与grandchild中的东西，一一对应输出。
//        for (int i = 0; i < grandchild.size(); i++) {
//            for (int j = 0; j < grandparent.size(); j++) {
//                context.write(grandchild.get(i), grandparent.get(j));
//            }
//        }
//    }
//}
}